The present invention relates generally to apparatus and methods for producing waveforms of musical tones, voices or other sounds on the basis of waveform data supplied from memory or the like, and more particularly to an improved waveform producing apparatus and method capable of producing waveforms that faithfully represent tone color variations affected by a player using various styles of rendition (i.e., performing techniques) or various sorts of articulation unique to a natural musical instrument. It should be appreciated that the basic principles of the present invention can be applied extensively to every type of equipment, apparatus and methods having the function of generating musical tones, voices or any other sounds, such as automatic performance devices, computers, electronic game devices and multimedia-related devices, not to mention electronic musical instruments. Also, let it be assumed that the terms xe2x80x9ctone waveformxe2x80x9d in this specification are not necessarily limited to a waveform of a musical tone alone and are used in a much broader sense that may embrace a waveform of a voice or any other type of sound.
The so-called xe2x80x9cwaveform memory readoutxe2x80x9d technique has already been well known, which prestores waveform data (i.e., waveform sample data) coded in a given coding scheme, such as the POM (Pulse Code Modulation), DPCM (Differential Pulse Code Modulation) or ADPCM (Adaptive Differential Pulse Code Modulation), and then reads out the thus-prestored waveform data at a rate corresponding to a desired tone pitch to thereby produce a tone waveform. So far, various types of xe2x80x9cwaveform memory readoutxe2x80x9d technique have been proposed and known in the art, most of which are directed to producing a waveform covering from the start to end of a tone. As one specific example of the waveform memory readout technique, there has been known a scheme of prestoring waveform data of a complete waveform of a tone covering from the start to end thereof. As another example of the waveform memory readout technique, there has been known a scheme of prestoring waveform data of a complete waveform only for a particular portion, such as an attach portion, of a tone presenting relatively complex variations and prestoring a predetermined loop waveform for a sustain portion and the like presenting less variations. In this patent specification, the terms xe2x80x9cloop waveformxe2x80x9d are used to refer to a waveform to be read out repeatedly, i.e., in a looped fashion.
With the conventional waveform memory readout scheme of prestoring waveform data of a complete waveform of a tone covering from the start to end thereof or prestoring waveform data of a complete waveform only for a particular portion, such as an attach portion, of a tone, however, it has been necessary to prestore a great number of various waveform data corresponding to a variety of styles of rendition (or various sorts of articulation), which would undesirably require a large storage capacity.
Further, although the above-mentioned scheme of prestoring waveform data of a complete waveform of a tone can faithfully express tone color variations effected using various styles of rendition (or various sorts of articulation) unique to a natural musical instrument, it can only reproduce the tone in just the same way as the prestored waveform data and thus would afford very poor controllability and editability. For instance, with this waveform memory readout scheme, it has been extremely difficult to control time-axial and other characteristics of the waveform data, corresponding to a desired style of rendition (or sort of articulation), in accordance with performance data.
It is therefore an object of the present invention to provide a waveform producing technique which can produce high-quality waveform data corresponding to a variety of styles of rendition (or various sorts of articulation) in a simplified manner with greatly increased facility and controllability. Particularly, the present invention seeks to provide a waveform producing method and apparatus using an improved technique of interlinking adjoining waveform-forming module data.
In order to accomplish the above-mentioned object, the present invention provides a method of producing a waveform using waveform-forming module data, which comprises the steps of: supplying preceding module data and succeeding module data; supplying a modifying rate; modifying the preceding module data and succeeding module data in accordance with the modifying rate; and producing a waveform on the basis of the modified preceding module data and succeeding module data.
In synthesizing high-quality style-of-rendition waveforms, it is necessary to appropriately interlink (interconnect) the plurality of style-of-rendition waveforms in accordance with the passage of time. In such high-quality style-of-rendition waveform synthesis, the above-mentioned module data are each organized as data for producing a style-of-rendition waveform, i.e. style-of-rendition module data, and there is a need to smoothly interlink every adjoining style-of-rendition module data. Thus, the present invention is arranged to supply a modifying rate, which indicates or determines which of the preceding module data and succeeding module data should be modified and at which rate the module data should be modified. The modification based on the modifying rate allows the preceding and succeeding module data to approach each other and thus provides for smooth link or connection between the two adjoining module data. In preferred embodiments to be described later, the modifying rate is referred to as a xe2x80x9cmutual approaching ratexe2x80x9d.
The present invention also provides a method of producing a waveform using waveform-forming module data, which comprises the steps of: supplying preceding module data and succeeding module data; designating a link starting point in the preceding module data; modifying data in the preceding module data at and after the link starting point; and producing a waveform on the basis of the modified preceding module data and the succeeding module data. For example, if there is a relatively great difference between the preceding and succeeding module data, an earlier link starting point is set so that the two modules can be interlinked as smoothly as possible. It is very effective to thus designate the link starting point appropriately depending on the situation.
Alternatively, a link ending point in the succeeding module data may be designated so to as modify data in the succeeding module data at and after the designated link ending point. If there is a relatively great difference between the preceding and succeeding module data, a later link ending point is set so that the two modules can be interlinked as smoothly as possible. It is also very effective to thus designate the link ending point appropriately depending on the situation. It should be appreciated that both, rather than just one, of the link starting and ending points may be designated appropriately independently of each other.
The present invention also provides a method of producing a waveform using waveform-forming module data, which comprises the steps of: supplying preceding module data and succeeding module data, the preceding module data including data of a plurality of vectors; thinning out the data of one or more of the plurality of vectors in the preceding module data in accordance with a evaluated time relationship between the preceding module data and the succeeding module data and; and producing a waveform on the basis of the thinned-out preceding module data and the succeeding module data. In this case, the preceding module data can produce a waveform by a combination of the plurality of vectors. Thinning out the data of one or more of the vectors will not adversely affect waveform reproduction corresponding to the preceding module data. If the trailing end of the preceding module data runs into or too close to the leading end of the succeeding module data, then the two module data could not be interlinked appropriately. To avoid such an inconvenience, the present invention is designed to evaluate a time relationship between the preceding and succeeding module data and thin out the data of selected one or more of the vectors. Alternatively, the succeeding module data may include data of a plurality of vectors, in which case the data of selected one or more of the vectors in the succeeding module data may be thinned out.
In the later-described embodiments, the style-of-rendition module data are each organized as data representing behavior of a waveform corresponding to a style of rendition. The waveform behavior can be defined by various waveform factors, which may include, for example, time factors such as a time length of a waveform section corresponding to the style-of-rendition module data and note-on and note-off timing in the waveform section. Also, the style-of-rendition module data may include data representing characteristic behavior of vectors for controlling the waveform to be produced. For example, the xe2x80x9cvectorsxe2x80x9d correspond to various fundamental waveform factors for producing a waveform. Examples of the fundamental waveform factors include a waveform shape (that determines a tone color or timbre), pitch variation over time and amplitude variation over time, and the vector data of these waveform factors are called a waveform shape vector, pitch vector and amplitude vector, respectively. Time vector for performing stretch/compression control on a time-axial progression of the waveform may also be used. The respective time axes of the waveform shape vector, pitch vector, amplitude vector, etc. can be controlled in accordance with the time vector. One example of behavior data, which is included in the style-of-rendition module data to represent the characteristic behavior of the vectors for controlling the waveform to be produced, is one designating a waveform shape vector, pitch vector, amplitude vector, time vector, etc. as mentioned above. Of course, the present invention is applicable as a technique of interconnecting any ordinary waveforms other than style-of-rendition waveforms and may be applied to any ordinary waveform-forming module data other than style-of-rendition module data.
The present invention may be constructed and implemented not only as the method invention as discussed above but also as an apparatus invention. Also, the present invention may be arranged and implemented as a software program for execution by a processor such as a computer or DSP, as well as a storage medium storing such a program. Furthermore, the processor used in the present invention may comprise a dedicated processor based on predetermined fixed hardware circuitry, rather than a general-purpose type processor capable of running software.